Deployment of maintenance packages to computing platforms often require downtime of such platforms. At the beginning of downtime, a backup is created and this backup serves as a fallback option, in case the upgrade fails. Advancements in technology have enabled for reduced, and in some cases, zero downtime upgrades. With such arrangements, upgrades run in parallel to a production system within the same database for the complete duration of the upgrade. The procedure creates clones of the tables, which are changed by the upgrade and runs database triggers to replicate data from production to the upgrade copy of the tables. With the maintenance procedure running in parallel with the production system in the same database, the upgrade can no longer be revoked by restoring a backup.
A restore of a backup is usually done as a point-in-time recovery: the full backup is restored, then the re-do-logs of the changes done to the system between the point in time of the full backup and the point in time, the administrator wants to restore are rolled forward. Such restores can only be run for the complete database.
In some database systems such as ABAP, database tables are defined in data dictionaries (DDICs). With such systems, tools can be used to compute the table structure for the underlying database. Some database systems use several databases as part of a single system. For example, there can be a database abstraction layer and database specific modules to compute database types to be used to represent table definitions. A DDIC type must be represented by a database data type, but there is no standard for database data types, so the mapping is required and is specific to a particular database. Furthermore, such mapping may vary over time (e.g. in cases when the database provides a new type as part of a new database release and this type is then used in the mapping).
With ABAP systems, table conversions are typically done using ABAP tools. The database table content is read from the database to ABAP and converted to a new structure in ABAP and then written to a new DB table. ABAP provides some additional logic for the structure conversion known as the ABAP command “MOVE CORRESPONDING”. This function depends on the metadata provided by ABAP.
On database layer, the metadata is not accessible in the database catalog. There are several ABAP types mapped to the same database types, but their conversion behavior depends on the ABAP definition, not only on the database definition.